Scope retained G2 evidence to the attested contract surface - #17
Draft
BunsDev wants to merge 1 commit into
Draft
Conversation
Preserve the immutable historic G2 checker core while adding a separate, fail-closed retained-attestation scope for explicitly classified repository-readiness files. Unknown paths, protected sources, mode changes, deletions, renames, copies, submodules, and truncated trees remain rejected. The scope starts as a candidate and requires an evidence-only follow-up after exact-head CI succeeds. Refs #16 Blocks #15
11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Repair the retained G2 evidence relationship so the historic G2 attestation remains strict without freezing every unrelated repository file forever.
This PR:
scripts/check-g2-evidence-v1.py;psyche.g2-attestation-scope/v1policy around the original source, workflow, test-manifest, matrix, immutable Coven input, CI-run, and evidence checks;git ls-tree;Root cause
The current passed-evidence verifier requires the historic tested source commit to be the pull-request head's merge-base and requires the complete tested-source-to-head diff to contain exactly one modified file:
docs/G2-EVIDENCE.md.That was correct for the original evidence-only attestation PR. Applied permanently, it rejects every later repository change—including root onboarding, roadmap, governance, or verification wrappers—and therefore blocks draft PR #15 even though all Rust, conformance, migration, crash, clippy, and evidence-checker unit work completed successfully before the relationship step.
Two-layer evidence model
docs/G2-EVIDENCE.mdremains the immutable historic implementation attestation. Its tested source, CI run, matrix, Coven provenance, source hashes, and command allowlist do not change in this PR.docs/G2-SCOPE-EVIDENCE.mdattests the current fail-closed scope checker, scope manifest, reviewed workflow, and complete current G2 test run.This first commit intentionally leaves the scope evidence at
candidate.After the exact candidate head passes the complete CI matrix, a second commit will modify only
docs/G2-SCOPE-EVIDENCE.mdto record:The final run must then prove the candidate-source → evidence-head relationship under the new scope before merge.
Explicitly unattested paths
Only these exact paths may be added or modified using their declared regular/executable modes:
README.mdAGENTS.mdCONTRIBUTING.mdSECURITY.mdLICENSEdocs/ROADMAP.mddocs/PROTOCOL-OWNERSHIP.mdagent/manifest.yamlscripts/agent-bootstrapscripts/agent-checkEverything else remains protected by default. Changing this allowlist, its rules, its digest, the wrapper, the original checker copy, the focused tests, the workflow, or either evidence document requires a new scope candidate and attestation.
Security properties
Scope and risk
Risk: R4 evidence trust root.
This PR does not change:
Tracking
Candidate-head validation before push
f5d8ce9ec62bb92e2041e8ebf4dd2423d9d5cfdddefault: protectedand ten exact pathsRequired candidate evidence
Final evidence step
After the candidate run succeeds:
docs/G2-SCOPE-EVIDENCE.md;Rollback
Revert this PR to restore the original checker path and workflow. No data or protocol migration occurs. Draft PR #15 remains blocked until this trust-root change is accepted rather than bypassed.